Package-level declarations

Types

Link copied to clipboard
sealed interface ActionExecutionSchedule

When should an action run?

Link copied to clipboard

Generate names for agent processes

Link copied to clipboard

Spring-style repository for agent processes. We don't extend Repository because it confuses Spring's component scanning if JPA/Neo or another Spring Data solution is used on the classpath downstream.

Link copied to clipboard

Replace automatic LLM selection with a custom one based on usage

Link copied to clipboard
data class DelayedActionExecutionSchedule(val delay: Duration, val timestamp: Instant = Instant.now()) : ActionExecutionSchedule

Run after a given delay

Link copied to clipboard
value class InteractionId(val value: String)

All prompt interactions through the platform need a unique id This allows LLM interactions to be optimized by an AgentPlatform

Link copied to clipboard
class InvalidLlmReturnFormatException(val llmReturn: String, val expectedType: Class<*>, cause: Throwable) : RuntimeException

The LLM returned an object of the wrong type.

Link copied to clipboard

Spec for calling an LLM. Optional LlmOptions, plus tool callbacks and prompt contributors.

Link copied to clipboard
data class LlmInteraction(val id: InteractionId, val llm: <Error class: unknown class> = LlmOptions(), val toolGroups: Set<ToolGroupRequirement> = emptySet(), val toolCallbacks: List<<Error class: unknown class>> = emptyList(), val promptContributors: List<<Error class: unknown class>> = emptyList(), val contextualPromptContributors: List<ContextualPromptElement> = emptyList(), val generateExamples: Boolean? = null) : LlmCall

Encapsulates an interaction with an LLM. An LlmInteraction is a specific instance of an LlmCall. The LLM must have been chosen and the call has a unique identifier.

Link copied to clipboard
interface LlmOperations

Wraps LLM operations. All user-initiated LLM operations go through this, allowing the AgentPlatform to mediate them. This interface is not directly for use in user code. Prefer PromptRunner An LlmOperations implementation is responsible for resolving all relevant tool callbacks for the current AgentProcess (in addition to those passed in directly), and emitting events.

Link copied to clipboard

Spec for calling an LLM. Optional LlmOptions, plus tool groups and prompt contributors.

Link copied to clipboard

Schedules operations for an AgentProcess.

Link copied to clipboard
data class PlatformServices(val agentPlatform: AgentPlatform, val llmOperations: LlmOperations, val eventListener: AgenticEventListener, val operationScheduler: OperationScheduler, val asyncer: Asyncer, val ragService: RagService, val objectMapper: <Error class: unknown class>, val outputChannel: OutputChannel, val templateRenderer: <Error class: unknown class>, applicationContext: <Error class: unknown class>?)

Services used by the platform and available to user-authored code.

Link copied to clipboard
data class ProntoActionExecutionSchedule(val timestamp: Instant = Instant.now()) : ActionExecutionSchedule

No delay

Link copied to clipboard
interface Ranker

Rank available choices based on user input and agent metadata. It's possible that no ranking will be high enough to progress with, but that's a matter for the AgentPlatform using this service.

Link copied to clipboard
data class Ranking<T>(val match: T, val score: <Error class: unknown class>)

Ranking choice returned by the ranker

Link copied to clipboard
data class Rankings<T>(rankings: List<Ranking<T>>)

Rankings, sorted by score descending

Link copied to clipboard
data class ScheduledActionExecutionSchedule(val till: Instant, val timestamp: Instant = Instant.now()) : ActionExecutionSchedule

Run at the given time in the future

Link copied to clipboard
data class ToolCallSchedule(val delay: Duration = Duration.ZERO, val timestamp: Instant = Instant.now())
Link copied to clipboard
fun interface ToolDecorator

Decorate tools for use on the platform: for example, to time them and emit events.

Link copied to clipboard